import 'package:flutter_test/flutter_test.dart';
import 'package:zk_flutter_bluetooth_print/zk_flutter_bluetooth_print.dart';
import 'package:zk_flutter_bluetooth_print/zk_flutter_bluetooth_print_platform_interface.dart';
import 'package:zk_flutter_bluetooth_print/zk_flutter_bluetooth_print_method_channel.dart';
import 'package:plugin_platform_interface/plugin_platform_interface.dart';

class MockZkFlutterBluetoothPrintPlatform
    with MockPlatformInterfaceMixin
    implements ZkFlutterBluetoothPrintPlatform {

  @override
  Future<String?> printImage(Map params) => Future.value('42');

  @override
  Future<String?> printBase64Image(Map params) {
    // TODO: implement printBase64Image
    throw UnimplementedError();
  }

  @override
  Future<String?> connect(Map params) {
    // TODO: implement connect
    throw UnimplementedError();
  }

  @override
  Future<String?> disConnect() {
    // TODO: implement disConnect
    throw UnimplementedError();
  }
}

void main() {
  final ZkFlutterBluetoothPrintPlatform initialPlatform = ZkFlutterBluetoothPrintPlatform.instance;

  test('$MethodChannelZkFlutterBluetoothPrint is the default instance', () {
    expect(initialPlatform, isInstanceOf<MethodChannelZkFlutterBluetoothPrint>());
  });

  // test('getPlatformVersion', () async {
  //   ZkFlutterBluetoothPrint zkFlutterBluetoothPrintPlugin = ZkFlutterBluetoothPrint();
  //   MockZkFlutterBluetoothPrintPlatform fakePlatform = MockZkFlutterBluetoothPrintPlatform();
  //   ZkFlutterBluetoothPrintPlatform.instance = fakePlatform;
  //
  //   expect(await zkFlutterBluetoothPrintPlugin.getPlatformVersion(), '42');
  // });
}
